﻿//题目：小蓝发现，对于一个正整数n 和一个小于n 的正整数v，
//将v 平方后对n 取余可能小于n 的一半，也可能大于等于n 的一半。
//请问，在1 到𝑛−1中, 有多少个数平方后除以n 的余数小于n 的一半。
//例如，当n = 4 时，1, 2, 3 的平方除以4 的余数都小于4 的一半。
//又如，当n = 5 时,1，4 的平方除以5 的余数都是1，小于5 的一半。
//而2，3 的平方除以5 的余数都是4, 大于等于5 的一半。
//输入格式
//输入一行包含一个整数𝑛
//输出格式
//输出一个整数，表示满足条件的数的数量。
//例如输入5输出2
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
	ll n;
	cin >> n;
	int sum = 0;
	if (n <=0)
		return false;
	for (int i = 1; i <= n - 1; i++) {
		if (i * i%n< n / 2.0) {//注意：这里一定要是n/2.0不能是n/2，因为n/2默认向下取整数，而2.0则是精确到数
			sum++;
		}
	}
	cout << sum << "\n";
	return 0;
}